<?php
declare (strict_types = 1);

namespace app\controller;
use app\BaseController;
use think\facade\View;
use app\model\SettingBudget as BudgetModel;
use app\middleware\CheckLogin;

use think\Request;

class Budget extends BaseController
{
    // 注册控制器中间件
    protected $middleware = [CheckLogin::class];

    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        //获取预算列表
        $data = BudgetModel::select();
        View::assign('data',$data);
        return view('index');
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
        return view('create');
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
        $data = $request->param();
        $data['date'] = date("Y-m-d H:i:s", strtotime($data['date']));

        //除重校验
        $old = BudgetModel::where('date',$data['date'])->count();

        if($old == 0){
            $result = BudgetModel::create($data);//调用create方法写入数据库
        }else{
            $result = false;
        }

        if($result){
            return $result->id;
        }else{
            return 0;
        }
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //获取此前数据
        $data = BudgetModel::find($id);
        View::assign('data',$data);

        return view('edit');
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $data = $request->param();
        $data['date'] = date("Y-m-d H:i:s", strtotime($data['date']));
        $result = BudgetModel::update($data);//调用create方法写入数据库

        if($result == false){
            return 0;
        }else{
            return $result->id;
        }
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //删除
        $budget = BudgetModel::find($id);//删除id号
        $result = $budget->delete();//确认删除结果，返回布尔值
        if($result){
            return "ok";//成功则返回OK
        }else{
            return "false";//失败则返回false
        }
    }
}
